/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.upc.sigu.web;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.springframework.core.Constants;
import pe.edu.upc.sigu.entities.Alumnos;
import pe.edu.upc.sigu.entities.Usuarios;
import pe.edu.upc.sigu.negocio.service.AlumnoService;
import pe.edu.upc.sigu.negocio.service.SerguridadService;
import pe.edu.upc.sigu.util.Constant;



/**
 *
 * @author Usuario2
 */
@ManagedBean(name = "loginBean")
@RequestScoped
public class LongiBean implements Serializable {

    @ManagedProperty(value = "#{serguridadService}")
    private SerguridadService serguridadService;

    @ManagedProperty(value = "#{alumnoService}")
    private AlumnoService alumnoService;


    
    private Usuarios usuario;
    private String message;

    /** Creates a new instance of LongiBean */
    public LongiBean() {

        usuario = new Usuarios();
    }

    /**
     * @return the serguridadService
     */
    public SerguridadService getSerguridadService() {
        return serguridadService;
    }

    /**
     * @param serguridadService the serguridadService to set
     */
    public void setSerguridadService(SerguridadService serguridadService) {
        this.serguridadService = serguridadService;
    }

    public String enviar() {
        System.out.println("getUsuario()" + getUsuario().getUsuario() + " - " + getUsuario().getClave());
        Usuarios _usuario = getSerguridadService().loguear(getUsuario());
        System.out.println("  result logue : " + _usuario);
        if (_usuario!=null) {
            if(_usuario.getAlumno()!=null){
                Alumnos alumno =  getAlumnoService().getDatosAlumno( new Alumnos(Constant.INSTITUCION,_usuario.getAlumno()) );
                HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
                session.setAttribute("alumno", alumno);
                return "ConsultaNotas";
 
            }else{
                return "RegistroNotas";
            }
  
        } else {

            setMessage("Usuario y/o Password ");
            return "login";
        }
        
    }

    /**
     * @return the usuario
     */
    public Usuarios getUsuario() {
        return usuario;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setUsuario(Usuarios usuario) {
        this.usuario = usuario;
    }

    /**
     * @return the message
     */
    public String getMessage() {
        return message;
    }

    /**
     * @param message the message to set
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * @return the alumnoService
     */
    public AlumnoService getAlumnoService() {
        return alumnoService;
    }

    /**
     * @param alumnoService the alumnoService to set
     */
    public void setAlumnoService(AlumnoService alumnoService) {
        this.alumnoService = alumnoService;
    }

   
}
